home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / SOURCES / ATARI_SRC.ZIP / atari source / HDX_BACK / MVICON / ICON.C < prev    next >
Encoding:
C/C++ Source or Header  |  2001-02-09  |  6.5 KB  |  238 lines

  1. #include "obdefs.h" 
  2. #include "gemdefs.h"
  3. #include "osbind.h"
  4.  
  5. /* AES (windows and messages) related variables */
  6. int gl_hchar;
  7. int gl_wchar;
  8. int gl_wbox;
  9. int gl_hbox;
  10. int phys_handle;
  11. int handle;
  12. int wi_handle;
  13. int formw, formh, sx, sy, lx, ly;
  14. int xdesk, ydesk, hdesk, wdesk;
  15. int xwork, ywork, hwork, wwork;
  16.  
  17. int contrl[12];
  18. int intin[128];
  19. int ptsin[128];
  20. int intout[128];
  21. int ptsout[128];
  22.  
  23. int work_in[11];
  24. int work_out[57];
  25.  
  26. main()
  27. {
  28.     int gr_mkmx, gr_mkmy;
  29.     int gr_mkmstate, gr_mkkstate;
  30.     int tmpx, tmpy;
  31.     int tmpx1, tmpy1;
  32.     int tmpx2, tmpy2;
  33.     int index, rgb_in[3];
  34.     int draw;
  35.  
  36.     appl_init();
  37.     phys_handle = graf_handle(&gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox);
  38.     wind_get(0, WF_WORKXYWH, &xdesk, &ydesk, &wdesk, &hdesk);
  39.     open_vwork();
  40.     wi_handle = wind_create(0x0040&0x0080, xdesk, ydesk, wdesk, hdesk);
  41.     graf_mouse(3, 0x0L);
  42.     graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  43.     tmpx = gr_mkmx;
  44.     tmpy = gr_mkmy;
  45.     vswr_mode(handle, 3);
  46.     graf_mouse(M_OFF, 0x0L);
  47.     drawicon(gr_mkmx,gr_mkmy);
  48.     drawicon(gr_mkmx+65,gr_mkmy);
  49.     drawicon(gr_mkmx+65,gr_mkmy+65);
  50.     drawicon(gr_mkmx+130,gr_mkmy);
  51.     drawicon(gr_mkmx+130,gr_mkmy+130);
  52.     drawicon(gr_mkmx+195,gr_mkmy);
  53.     drawicon(gr_mkmx+195,gr_mkmy+195);
  54.     drawicon(gr_mkmx+260,gr_mkmy);
  55.     drawicon(gr_mkmx+260,gr_mkmy+260);
  56.     drawicon(gr_mkmx+325,gr_mkmy);
  57.     drawicon(gr_mkmx+325,gr_mkmy+325);
  58.     drawicon(gr_mkmx+390,gr_mkmy);
  59.     drawicon(gr_mkmx,gr_mkmy+65);
  60.     drawicon(gr_mkmx+130,gr_mkmy+65);
  61.     drawicon(gr_mkmx+195,gr_mkmy+65);
  62.     drawicon(gr_mkmx+260,gr_mkmy+65);
  63.     drawicon(gr_mkmx+325,gr_mkmy+65);
  64.     drawicon(gr_mkmx+390,gr_mkmy+65);
  65.     drawicon(gr_mkmx,gr_mkmy+130);
  66.     drawicon(gr_mkmx+65,gr_mkmy+130);
  67.     drawicon(gr_mkmx+195,gr_mkmy+130);
  68.     drawicon(gr_mkmx+260,gr_mkmy+130);
  69.     drawicon(gr_mkmx+325,gr_mkmy+130);
  70.     drawicon(gr_mkmx+390,gr_mkmy+130);
  71.     drawicon(gr_mkmx,gr_mkmy+195);
  72.     drawicon(gr_mkmx+65,gr_mkmy+195);
  73.     drawicon(gr_mkmx+130,gr_mkmy+195);
  74.     drawicon(gr_mkmx+260,gr_mkmy+195);
  75.     drawicon(gr_mkmx+325,gr_mkmy+195);
  76.     drawicon(gr_mkmx+390,gr_mkmy+195);
  77.     drawicon(gr_mkmx,gr_mkmy+260);
  78.     drawicon(gr_mkmx+65,gr_mkmy+260);
  79.     drawicon(gr_mkmx+130,gr_mkmy+260);
  80.     drawicon(gr_mkmx+195,gr_mkmy+260);
  81.     drawicon(gr_mkmx+325,gr_mkmy+260);
  82.     drawicon(gr_mkmx+390,gr_mkmy+260);
  83.     drawicon(gr_mkmx,gr_mkmy+325);
  84.     drawicon(gr_mkmx+65,gr_mkmy+325);
  85.     drawicon(gr_mkmx+130,gr_mkmy+325);
  86.     drawicon(gr_mkmx+195,gr_mkmy+325);
  87.     drawicon(gr_mkmx+260,gr_mkmy+325);
  88.     drawicon(gr_mkmx+390,gr_mkmy+325);
  89.     graf_mouse(M_ON, 0x0L);
  90.     while(!(0x0002&gr_mkmstate))    {
  91.         graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  92.         tmpx1 = gr_mkmx;
  93.         tmpy1 = gr_mkmy;
  94.         /*
  95.         tmpx2 = gr_mkmx;
  96.         tmpy2 = gr_mkmy;
  97.         */
  98.         graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  99.         /*
  100.         while (((tmpx1 != gr_mkmx) || (tmpy1 != gr_mkmy)) &&
  101.                 ((abs(tmpx1, tmpx2) < 8) || (abs(tmpy1, tmpy2) < 8)) &&
  102.                 (0x0001&gr_mkmstate))    {
  103.             graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  104.             tmpx1 = gr_mkmx;
  105.             tmpy1 = gr_mkmy;
  106.             graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  107.             draw = 1;
  108.         }
  109.         if (draw)    {
  110.             v_enter_cur(handle);
  111.             v_exit_cur(handle);
  112.         */
  113.         if (((tmpx1 != gr_mkmx) || (tmpy1 != gr_mkmy)) &&
  114.                 (0x0001&gr_mkmstate))    {
  115.  
  116.             graf_mouse(M_OFF, 0x0L);
  117.             drawicon(tmpx,tmpy);
  118.             drawicon(tmpx+65,tmpy);
  119.             drawicon(tmpx+65,tmpy+65);
  120.             drawicon(tmpx+130,tmpy);
  121.             drawicon(tmpx+130,tmpy+130);
  122.             drawicon(tmpx+195,tmpy);
  123.             drawicon(tmpx+195,tmpy+195);
  124.             drawicon(tmpx+260,tmpy);
  125.             drawicon(tmpx+260,tmpy+260);
  126.             drawicon(tmpx+325,tmpy);
  127.             drawicon(tmpx+325,tmpy+325);
  128.             drawicon(tmpx+390,tmpy);
  129.             drawicon(tmpx,tmpy+65);
  130.             drawicon(tmpx+130,tmpy+65);
  131.             drawicon(tmpx+195,tmpy+65);
  132.             drawicon(tmpx+260,tmpy+65);
  133.             drawicon(tmpx+325,tmpy+65);
  134.             drawicon(tmpx+390,tmpy+65);
  135.             drawicon(tmpx,tmpy+130);
  136.             drawicon(tmpx+65,tmpy+130);
  137.             drawicon(tmpx+195,tmpy+130);
  138.             drawicon(tmpx+260,tmpy+130);
  139.             drawicon(tmpx+325,tmpy+130);
  140.             drawicon(tmpx+390,tmpy+130);
  141.             drawicon(tmpx,tmpy+195);
  142.             drawicon(tmpx+65,tmpy+195);
  143.             drawicon(tmpx+130,tmpy+195);
  144.             drawicon(tmpx+260,tmpy+195);
  145.             drawicon(tmpx+325,tmpy+195);
  146.             drawicon(tmpx+390,tmpy+195);
  147.             drawicon(tmpx,tmpy+260);
  148.             drawicon(tmpx+65,tmpy+260);
  149.             drawicon(tmpx+130,tmpy+260);
  150.             drawicon(tmpx+195,tmpy+260);
  151.             drawicon(tmpx+325,tmpy+260);
  152.             drawicon(tmpx+390,tmpy+260);
  153.             drawicon(tmpx,tmpy+325);
  154.             drawicon(tmpx+65,tmpy+325);
  155.             drawicon(tmpx+130,tmpy+325);
  156.             drawicon(tmpx+195,tmpy+325);
  157.             drawicon(tmpx+260,tmpy+325);
  158.             drawicon(tmpx+390,tmpy+325);
  159.  
  160.             tmpx = gr_mkmx;
  161.             tmpy = gr_mkmy;
  162.  
  163.             graf_mouse(M_OFF, 0x0L);
  164.             drawicon(gr_mkmx,gr_mkmy);
  165.             graf_mouse(M_ON, 0x0L);
  166.  
  167.             drawicon(gr_mkmx+65,gr_mkmy);
  168.             drawicon(gr_mkmx+65,gr_mkmy+65);
  169.             drawicon(gr_mkmx+130,gr_mkmy);
  170.             drawicon(gr_mkmx+130,gr_mkmy+130);
  171.             drawicon(gr_mkmx+195,gr_mkmy);
  172.             drawicon(gr_mkmx+195,gr_mkmy+195);
  173.             drawicon(gr_mkmx+260,gr_mkmy);
  174.             drawicon(gr_mkmx+260,gr_mkmy+260);
  175.             drawicon(gr_mkmx+325,gr_mkmy);
  176.             drawicon(gr_mkmx+325,gr_mkmy+325);
  177.             drawicon(gr_mkmx+390,gr_mkmy);
  178.             drawicon(gr_mkmx,gr_mkmy+65);
  179.             drawicon(gr_mkmx+130,gr_mkmy+65);
  180.             drawicon(gr_mkmx+195,gr_mkmy+65);
  181.             drawicon(gr_mkmx+260,gr_mkmy+65);
  182.             drawicon(gr_mkmx+325,gr_mkmy+65);
  183.             drawicon(gr_mkmx+390,gr_mkmy+65);
  184.             drawicon(gr_mkmx,gr_mkmy+130);
  185.             drawicon(gr_mkmx+65,gr_mkmy+130);
  186.             drawicon(gr_mkmx+195,gr_mkmy+130);
  187.             drawicon(gr_mkmx+260,gr_mkmy+130);
  188.             drawicon(gr_mkmx+325,gr_mkmy+130);
  189.             drawicon(gr_mkmx+390,gr_mkmy+130);
  190.             drawicon(gr_mkmx,gr_mkmy+195);
  191.             drawicon(gr_mkmx+65,gr_mkmy+195);
  192.             drawicon(gr_mkmx+130,gr_mkmy+195);
  193.             drawicon(gr_mkmx+260,gr_mkmy+195);
  194.             drawicon(gr_mkmx+325,gr_mkmy+195);
  195.             drawicon(gr_mkmx+390,gr_mkmy+195);
  196.             drawicon(gr_mkmx,gr_mkmy+260);
  197.             drawicon(gr_mkmx+65,gr_mkmy+260);
  198.             drawicon(gr_mkmx+130,gr_mkmy+260);
  199.             drawicon(gr_mkmx+195,gr_mkmy+260);
  200.             drawicon(gr_mkmx+325,gr_mkmy+260);
  201.             drawicon(gr_mkmx+390,gr_mkmy+260);
  202.             drawicon(gr_mkmx,gr_mkmy+325);
  203.             drawicon(gr_mkmx+65,gr_mkmy+325);
  204.             drawicon(gr_mkmx+130,gr_mkmy+325);
  205.             drawicon(gr_mkmx+195,gr_mkmy+325);
  206.             drawicon(gr_mkmx+260,gr_mkmy+325);
  207.             drawicon(gr_mkmx+390,gr_mkmy+325);
  208.             graf_mouse(M_ON, 0x0L);
  209.         }
  210.     }
  211.             draw = 0;
  212.     wind_delete(wi_handle);
  213.     v_clsvwk(handle);
  214.     appl_exit();
  215. }
  216.  
  217. open_vwork()
  218. {
  219.     int i;
  220.  
  221.     for (i=0; i < 10;)
  222.         work_in[i++] = 1;
  223.     work_in[10] = 2;
  224.     handle = phys_handle;
  225.     v_opnvwk(work_in, &handle, work_out);
  226. }
  227.  
  228.  
  229. abs(x, y)
  230. int x,y;
  231. {
  232.     if (x > y)    {
  233.         return(x - y);
  234.     } else {
  235.         return(y - x);
  236.     }
  237. }
  238.